/*
 * Jenny Ruppen 09-730-391
 * Sebastien Goldberg 08-914-855
 * Henry Raymond 08-928-061
 * Stefan Mussato 09-752-270
 */
 
package ch.uzh.ifi.sopra.gruppe9.game;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * Remote object interface for all action locations such as shops, bank, 
 * house of the caliph etc.
 */
public interface IRmiActionLocation extends Remote {

	int[] getTowerElementSelectionIDs() throws RemoteException;
	
	int[] getTowerElementPileIDs() throws RemoteException;
	
	int[] getBuyingAgentSlots() throws RemoteException; 
	
	int getColorConstraint() throws RemoteException;
	
	boolean doAction(int playerIndex, int buyingAgentID1, int buyingAgentID2) throws RemoteException;
	
	boolean doAction(int playerIndex, int buyingAgentID1, int buyingAgentID2, int parameter1) throws RemoteException;
	
	boolean doAction(int playerIndex, int buyingAgentID1, int buyingAgentID2, int parameter1, int parameter2) throws RemoteException;
	
	boolean doAction(int playerIndex, int buyingAgentID1, int buyingAgentID2, int parameter1, String parameter2) throws RemoteException;
	
}
